Management of intended future conversations

ABSTRACT

Arrangements relate to the management of data items representing intended future conversations. A plurality of first inputs related to a respective intended future conversation can be received. At least one data item representing the respective intended future conversation can be created for each first input. At least one attribute can be received for each of the plurality of intended future conversations associated with-each first input. In response to receiving at least one attribute for each of the plurality of the intended future conversations associated with each first input, the plurality of intended future conversations associated with each first input can be ranked in a particular order based on at least one of the received attributes. A listing of the intended future conversations that is based on the ranking can be generated.

BACKGROUND

Arrangements described herein relate to planning future conversationsbetween two or more participants.

In most facets of life, the need arises to discuss a topic with one ormore persons or organizations at some point in the future. Scheduling ameeting requires interactions with other people in advance, ofteninvolves rescheduling. There are various techniques and tools to assistan individual in planning future activities and to remember the topicsfor discussion. Examples of such techniques and tools include makingmental notes, writing “to do” lists, making calendar entries, stickynotes, asking someone or something (e.g. a computer) to remind us,bulletin boards, etc. For instance, when using a calendar entry, a usermay initially guess at an appropriate date/time.

BRIEF SUMMARY

One or more embodiments disclosed within this specification relate toplanning future conversations between two or more participants, and,more particularly, to the management of intended future conversations.

An embodiment can include a method of managing data items representingintended future conversations. The method can include receiving aplurality of first inputs. Each first input being related to arespective intended future conversation. Each first input can create atleast one data item representing the respective intended futureconversation. The method can further include receiving at least oneattribute for each of the plurality of intended future conversationsassociated with-each first input. Responsive to receiving at least oneattribute for each of the plurality of the intended future conversationsassociated with each first input, the method can include ranking, usinga processor, the plurality of intended future conversations associatedwith each first input in a particular order based on at least one of thereceived attributes. The method can further include generating a listingof the intended future conversations that is based on the ranking.

A method of managing data items representing intended futureconversations. The method can include receiving a plurality of firstinputs. Each first input can be related to a respective intended futureconversation. Each first input can create at least one data itemrepresenting the respective intended future conversation. The method canfurther include receiving at least one attribute for each of theplurality of intended future conversations associated with each firstinput. Responsive to receiving at least one attribute for each of theplurality of the intended future conversations associated with eachfirst input, the method can further include ranking, using a processor,the plurality of intended future conversations associated with eachfirst input in a particular order based on at least one of the receivedattributes. The method can also include presenting to a user a listingof at least a subset of the intended future conversations that is basedon the ranking.

Another embodiment can include a system having a processor programmed toinitiate executable operations. The executable operations can includereceiving a plurality of first inputs. Each first input can be relatedto a respective intended future conversation. Each first input cancreate at least one data item representing the respective intendedfuture conversation. The executable operations also can includereceiving at least one attribute for each of the plurality of intendedfuture conversations associated with-each first input. Further, theexecutable operations can include, responsive to receiving at least oneattribute for each of the plurality of the intended future conversationsassociated with each first input, ranking the plurality of intendedfuture conversations associated with each first input in a particularorder based on at least one of the received attributes. The executableoperations also can include generating a listing of the intended futureconversations that is based on the ranking.

Another embodiment can include a computer program product for managingdata items representing intended future conversations. The computerprogram product can include a computer-readable storage medium havingstored thereon program code that, when executed, configures a processorto perform a method. The method can include receiving, by the processor,a plurality of first inputs. Each first input can be related to arespective intended future conversation. Each first input can create atleast one data item representing the respective intended futureconversation. The method also can include receiving, by the processor,at least one attribute for each of the plurality of intended futureconversations associated with each first input. The method can furtherinclude responsive to receiving at least one attribute for each of theplurality of the intended future conversations associated with eachfirst input, ranking, by the processor, the plurality of intended futureconversations associated with each first input in a particular orderbased on at least one of the received attributes. The method also caninclude generating a listing of the intended future conversations thatis based on the ranking.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a system for managing futureintended conversations in accordance with one embodiment disclosedwithin this specification.

FIG. 2 is a flow chart illustrating a method of managing future intendedconversations in accordance with one embodiment disclosed within thisspecification.

FIG. 3 is a graphical user interface for managing future intendedconversations in accordance with one embodiment disclosed within thisspecification.

FIG. 4 is a block diagram illustrating a system for managing futureintended conversations in accordance with one embodiment disclosedwithin this specification.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer-readablemedium(s) having computer-readable program code embodied, e.g., stored,thereon.

Any combination of one or more computer-readable medium(s) may beutilized. The computer-readable medium may be a computer-readable signalmedium or a computer-readable storage medium. The term computer-readablestorage medium means to a non-transitory storage medium. Acomputer-readable storage medium may be, for example, but not limitedto, an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (a non-exhaustive list) of thecomputer-readable storage medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk drive (HDD), a solid state drive (SSD), a randomaccess memory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), an optical fiber, a portablecompact disc read-only memory (CD-ROM), a digital versatile disc (DVD),an optical storage device, a magnetic storage device, or any suitablecombination of the foregoing. In the context of this document, acomputer-readable storage medium may be any tangible medium that cancontain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber, cable, RF, etc., or any suitable combination ofthe foregoing. Computer program code for carrying out operations foraspects of the present invention may be written in any combination ofone or more programming languages, including an object orientedprogramming language such as Java™, Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer, or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute by theprocessor of the computer, other programmable data processing apparatus,or other devices create means for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer, other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

For purposes of simplicity and clarity of illustration, elements shownin the figures have not necessarily been drawn to scale. For example,the dimensions of some of the elements may be exaggerated relative toother elements for clarity. Further, where considered appropriate,reference numbers are repeated among the figures to indicatecorresponding, analogous, or like features.

The arrangements described herein relate to managing data itemsrepresenting intended future conversations. A “conversation” is anyexchanges of thoughts, information and/or ideas between two or moreindividuals in any form and by any suitable means. In the way ofexamples, a conversation may take place during an in-person meeting, atelephone call, a video chat, instant messaging, email, text messaging,a facsimile, social networking websites, etc. A conversation may besynchronous, semi-synchronous, or even asynchronous. Arrangementsdescribed herein can facilitate the planning of future intendedconversations by taking into account the special attributes ofconversation, using such special attributes to help the user seeinformation and patterns to better organize and plan, and capitalize onchanging opportunities for collaboration.

FIG. 1 depicts a block diagram illustrating a system 100 for managingfuture intended conversations in accordance with one embodimentdisclosed within this specification. The system 100 can include one ormore client devices 105 used by one or more users. The one or moreclient devices 105 can be any suitable device including, for example, asmart phone, a computer (e.g., a laptop, tablet, desktop, etc.),personal digital assistant (“PDA”), in-car hands free phone, a portablecommunication device, a portable computing device, etc. In someinstances, the one or more client devices 105 can be configured tocommunicate via a wireless and/or wired medium.

The system 100 can include a conversation server 110, which can becommunicatively linked to the one or more client devices 105 via one ormore communication networks 115. When there is a plurality of clientdevices 105, the client devices also may be communicatively linked toone another via the one or more communication networks 115. As usedherein, the term “communicatively linked” can include direct or indirectconnections through a communication channel or pathway or anothercomponent or system. A “communication network” means one or morecomponents designed to transmit and/or receive information from onesource to another. The communication network 115 can include wiredcommunication links and/or wireless communication links. Thecommunication network 115 can comprise the Internet, a wide area network(WAN), wireless wide area network (WWAN), a local area network (LAN),wireless local area network (WLAN), a wireless communication networkand/or the like. The communication network 115 can include anycombination of the above networks and/or other types of networks. Thenetwork can include one or more routers, switches, access points,wireless access points, and/or the like.

The system 100 can include one or more social networking websites 120.“Social networking website” as used herein refers to web-basedtechnologies used to turn communication into interactive dialoguebetween organizations, communities, and individuals. Examples of socialnetworking websites include, for example, collaborative projects (e.g.,Wikipedia), blogs and micro blogs (e.g., Twitter), content communities(e.g., YouTube), social networking sites (e.g., Facebook, LinkedIn,Google Plus, MySpace,) and virtual gaming worlds. The social networkingwebsite 120 can support messaging (e.g., an electronic mail system, aninstant messaging (IM) system, a Short Messaging System (SMS), or thelike). The one or more social media websites 120 can be communicativelylinked to the one or more client devices 105 and/or the conversationserver 110.

The system 100 can include one or more electronic communication servers125. The electronic communication server 125 can be implemented as, forexample, an electronic mail system, a calendar system (included in orseparate from the electronic mail system), an instant messaging (IM)system, a text messaging system, video chat system (e.g. Skype), or thelike. In this regard, the electronic communication server 125 can beimplemented as an electronic mail server, an instant messaging server, atext messaging server, a video chat server or other communication hub orserver capable of routing electronic communications within or as part ofthe communication network 115. The electronic communication server 125can include suitable operational software for performing the variousfunctions described herein. The one or more electronic communicationservers 125 can be communicatively linked to the one or more clientdevices 105 and/or the conversation server 110.

The system 100 can include one or more telecommunication systems 130.The telecommunication servers 125 can be implemented as, for example, atelephone system (e.g. Voice over Internet Protocol (VoIP) system), avoicemail system, a facsimile system, and the like. In this regard, theone or more telecommunication systems 130 can be implemented as atelephone server, a voicemail server, a facsimile server, or othercommunication hub or server capable of routing telecommunications withinor as part of the communication network 115. The one or moretelecommunication systems 130 can include suitable operational softwarefor performing the various functions described herein. The one or moretelecommunication systems 130 can be communicatively linked to the oneor more client devices 105 and/or the conversation server 110. Thetelecommunication system 130 may support messaging.

The one or more telecommunication systems 130 can be directly linked tothe one or more client devices 105. Alternatively or in addition, atelecommunication system 130 can be communicatively linked to the one ormore client devices 105 via the communication network 115. One or moretelecommunication systems 130 can be communicatively linked to the oneor more client device 105 in both of these manners.

The system 100 can include a conversation module 150. In one embodiment,the conversation module 150 can be stored and/or executed on the one ormore client devices 105. Alternatively or in addition, the conversationmodule 150 can be stored and/or executed on a conversation server 110.As a further implementation, which can be as an alternative or inaddition to the above, the conversation module 150 can be stored and/orexecuted on the one or more social networking websites 120, the one ormore electronic communication servers 125, the one or moretelecommunication systems 130 and/or the one or more telecommunicationsystems 130.

The conversation module 150 can receive and/or store a plurality offirst inputs. For instance, the conversation module 150 can receiveand/or store a plurality of first inputs relating to a respectiveintended future conversation. At least one data item that represents therespective intended future conversation can be created by each firstinput.

The conversation module 150 can receive the plurality of first inputs inany suitable manner. For instance, one or more of the plurality of firstinputs can be received from a user by input on the one or more clientdevices 105. As used herein, “user” means one or more persons.Accordingly, the client device 105 can include an input system forreceiving user inputs. Any suitable input system can be used, including,for example, a keypad, display, touch screen, button, joystick, mouse,trackball, microphone or combinations thereof.

Alternatively or in addition, one or more of the plurality of firstinputs can be received from an external information source. “Externalinformation source” means any source of information regarding theintention to have a future conversation that is not directly input by auser on the client device 105. For instance, the external informationsource can be the one or more social networking websites 120, the one ormore electronic communication servers 125, the one or moretelecommunication systems 130, and any combination thereof. Theconversation module 150 can be configured to acquire one or more firstinputs relating to the intention to have a future conversation from anexternal information source. For instance, the conversation module 150can be configured to automatically acquire one or more first inputs.Such automatic acquiring may occur on any suitable basis, including, forexample, continuously, periodically or randomly. Alternatively or inaddition, the conversation module 150 can be configured to acquire thefirst inputs upon receiving a user command. The conversation module 150can be configured by the user or some other entity or by a systemdefault as to which external information sources to search for one ormore first inputs relating to the intention to have a futureconversation.

Responsive to receiving each first input, the conversation module 150can be configured to receive one or more attributes related to theparticular intended future conversation associated with the first input.“Attribute” is defined as any property, characteristic, requirement orinformation associated with an intended future conversation thatprovides context for the conversation. As will be explained herein, suchattributes can facilitate the managing, organizing and/or prioritizingof intended future conversations.

One example of an attribute is the identity of one or more participantsof the intended future conversation. The one or more participants caninclude persons, entities, organizations, and/or other identity. Theoriginating user may or may not be a participant in the conversation.“Originating user” is defined as the user inputting the first input orthe user who is using the system to acquire the first input. Theoriginating user may or may not be a participant in the conversation.Another attribute may be the importance, relevance and/or relationship(e.g., work, colleague, vendor, boss, subordinate, certain functionunits within an organization, etc.) of a participant to the originatinguser or to some other reference point.

Another example of an attribute is the subject of the conversation. Thesubject may be a topic, a question, a keyword, a project name, an issue,etc. Another attribute can be the importance of the subject, to theoriginating user or some other reference point.

A further example of an attribute is the expected duration of theconversation. Yet another example of an attribute is the timesensitivity of the conversation. For instance, the time sensitivity canbe a deadline to have the conversation, the urgency of the conversation,a window of opportunity in which to have the conversation, etc.

A further attribute can be one or more temporal conditions. Forinstance, during certain times (e.g. hours, days, weeks, months),certain attributes may have greater importance than at other times. Asan example, a missed incoming call from the school of a son or daughterof the originating user may be greater in importance if it is receivedduring school hours as opposed to non-school hours.

Still another example of an attribute is one or more channel constraintsof the intended future conversation. For instance, a user can indicatethat the manner in which intended future conversation can be or must beconducted (e.g. face to face or in a telephone call, instant message oremail). Alternatively, the user can indicate that certain equipment isrequired during the conversation. As an example, a user may indicatethat a two-way video feed, projector, etc. is required. Anotherattribute can be the current channel availability for originating userand other participant(s).

The attribute can be the modality of the channels of conversation. Forinstance, the user can indicate that the intended future conversationcan be fully synchronous, semi-synchronous, or even asynchronous. Anadditional attribute can be availability status of the identifiedparticipants. The availability status can be the availability of aparticipant and/or the originating user as indicated by any suitablesource (e.g. social systems such as Google, Facebook, etc.) of listedparticipants.

Another attribute may be the ability of the user to conduct a plannedconversation in his/her current context. Examples include: thecommunication capabilities of the user's current client device, heuser's projected current free time versus the expected duration of theplanned conversation, and the current and/or near-term availability ofthe participant(s), which may take into account channel restraints.

The one or more attributes can be input by the user. The user may inputthe one or more attributes of his or her own initiative. Alternativelyor in addition, the client device 105 can prompt the user to input oneor more attributes. In one embodiment, the system can be configured toautomatically prompt the user to input one or more attributes of anintended future conversation as each first input is received.

Alternatively or in addition, the at least one user attribute can beacquired, automatically or by user command, by the conversation module150 from one or more external information sources. The automaticacquiring of at least one user attribute may occur on any suitablebasis, including, for example, continuously, periodically or randomly.In one implementation, the external information sources used to acquireone or more attributes can be the same as the external informationsources used to acquire the first inputs. However, in otherimplementations, the external information sources used to acquire one ormore attributes can be different from the external information sourcesused to acquire the first inputs in one or more respects. Theconversation module 150 can be configured by the user or some otherentity as to which external sources of information to search for one ormore attributes for an intended future conversation. The conversationmodule 150 can be configured by the user or some other entity or bysystem default as to which external information sources to acquireattributes relating to an intended future conversation. For instance, auser can configure the conversation module 150 to acquire one or moreattributes (e.g. relationship or priority information) from his or herFacebook.

The system 100 can be configured to operate entirely manually, that is,the user provides all of the inputs to the conversation module 150, suchas by using one or more client devices 105. Alternatively, the system100 can be configured to operate automatically, that is, the firstinputs and attributes can be acquired by the conversation module 150without the user having to input such information. Of course, the system100 can be configured to include combinations of both implementations.

The user may wish to review the inputs representing intended futureconversations. The system 100 can generate and output a rank orderedlist of the intended future conversations. Accordingly, the conversationmodule 150 can be configured to receive a second input identifying atleast one of the plurality of attributes upon which the rankings of theintended future conversations is based. One or more of the storedattributes may be used as ranking parameters. In response to receivingone or more second inputs, the conversation module 150 can be configuredto rank the plurality of future intended conversations in a particularorder based on one or more of the identified attributes.

In one implementation, one or more second inputs can be input by a useron a client device 105. Alternatively, one or more second inputs can beinput the conversation module 150. For instance, the conversation module150 can build metrics from other data and use such metrics to rank theintended future conversations. Of course, the second inputs may be inputby a combination of user input and the conversation module 150.

A weight can be associated with each of the second inputs. In oneembodiment, each of the second inputs can have equal weight. The weightassociated with each second input can be predetermined by the user or bya system default.

The conversation module 150 can generate a listing of intended futureconversations that is based on the rankings. Generating the listing canbe done automatically by the conversation module 150. For instance,generating the listing can be done on a continuous, periodic or randombasis. Generating the listing can be done by the conversation module 150in response to a user command. The listing of the intended futureconversations that is based on the rankings can be presented to theuser. Such presenting can be done automatically or in response to a usercommand. For instance, the client device 105 can include an outputsystem for presenting information to the user. The output system caninclude any suitable type of display. Alternatively or in addition, theoutput system may include a microphone, earphone and/or speaker. Theoutput system may include a printer communicatively linked to the clientdevice.

The listing of intended future conversations may include all intendedfuture conversations received by the conversation module 150 or at leasta subset thereof. As used herein, “at least a subset” means one or moreof the intended future conversations. Thus, the system can enable a userto review the list of intended future conversations he/she intend tohave at any point and quickly determine which one(s) he/she could/shouldaddress at the moment and in the context that he/she reviews the list.The system can allow a user to organize and/or modify the individualentries in the listing of future intended conversations. The user mayuse patterns from the resulting information to plan and organize theconversations and recall and act on those stored items. In addition tothe modification/deletion of planned conversations, the system 100 canallow the user to initiate a conversation.

Further, the conversation module 150 can allow the user to search theintended future conversations. For instance, when only a subset ofintended future conversations is presented to the user, the conversationmodule can allow the user to find conversations that were not rankedhigh enough to be presented at that moment, but that might needmodification. For example, if the system's user stated that a videochannel was needed for a future conversation, the constraint may need tobe modified if the deadline for having that conversation is near.

In some instances, the system can allow the user to view the list from asingle perspective. However, the system can be configured to allow theuser to choose one of a plurality of perspectives from which to view arank-ordered listing of intended future conversations. Examples ofperspectives include list all, by urgency, by topic, by person, etc.

The system 100 can be configured to allow a user to can share one ormore intended future conversations with other users. In oneimplementation, the system can be configured such that one or more ofthe identified participants of an intended future conversation areautomatically able to view the intended future conversation is their ownlist of intended future conversations, which may or may not be identicalto the other participants. Further, the importance of the intendedfuture conversation to one participant may be different from theimportance of the intended future conversation to another participant.In some implementations, the originating user may select which, if any,of the indicated participants to share the intended futureconversations.

The system 100 can allow a user to manage conversations from the list.For instance, the user can input different or additional second inputsidentifying at least one of the plurality of attributes upon which therankings of the intended future conversations is based. The user may beable to manually re-rank individual entries in the list of intendedfuture conversations. Further, the user may be able to modify one ormore inputs for one or more of the intended future conversations. Inaddition, the user may be able to delete one or more of the intendedfuture conversations.

In response to the deletion of one or more intended future conversationsand/or modification to one or more aspects of one or more intendedfuture conversations, the system can generate an updated listing ofintended future conversations that is based on the rankings. Generatingthe updated listing can be done automatically or in response to a usercommand.

The conversation module can receive one or more third inputs thatidentify a parameter corresponding to the attributes that is used todetermine when reminders for intended future conversations are to bepresented to the user. Based on the third input, reminders can beprovided to the user regarding the intended future conversations.

As an example, the parameter may be the receipt of a communication froma participant of one or more of the intended future conversations.Alternatively or in addition, the parameter may be the initiation by theuser of a communication to a participant of one or more of the intendedfuture conversations. The subject matter of the communication may or maynot be related to the subject matter of the one or more intended futureconversations with the participant. Thus, when the user receives acommunication (e.g., email, telephone call, voice message, instantmessage, text message, etc.) from such a participant, a reminder can beprovided to the user regarding one or more of the intended futureconversations with the participant. Alternatively or in addition, whenthe user initiates a communication (e.g., email, telephone call, voicemessage, instant message, text message, etc.) to such a participant ofan intended future conversation, a reminder can be provided to the userregarding one or more of the intended future conversations with theparticipant.

It should be noted that a user may be able to initiate a conversationusing the system. Thus, when reviewing a list of intended futureconversations or otherwise, the user may determine that the presentmoment is an opportune time to conduct one of the intended futureconversations. Accordingly, the user may initiate the conversation usingthe client device 105, any portion of the system 100 or other mode ofconversation.

FIG. 2 is a flow chart illustrating a method 200 of managing futureintended conversations in accordance with one embodiment disclosedwithin this specification. At step 205, a plurality of first inputs canbe received. Each first input can be related to a respective intendedfuture conversation. Each first input can create at least one data itemrepresenting the respective intended future conversation. The receivingof a plurality of first inputs can include automatically acquiring atleast one of the plurality of first inputs from at least one of anexternal information source and/or by a user input.

At step 210, at least one attribute for each of the plurality ofintended future conversations associated with each first input can bereceived. This step can include automatically acquiring at least oneattribute for at least one of the plurality of intended futureconversations associated with each first input from an externalinformation source (e.g. a social networking website, an electroniccommunication server and/or a telecommunication system). Alternativelyor in addition, this step can include receiving the at least oneattribute for at least one of the plurality of intended futureconversations associated with each first input by a user input.

At step 215, responsive to receiving at least one attribute for each ofthe plurality of the intended future conversations associated with eachfirst input, the plurality of intended future conversations associatedwith each first input can be ranked in a particular order based on atleast one of the received attributes. A second input identifying atleast one of the received attributes upon which to rank the plurality ofintended future conversations associated with-each first input can bereceived. At step 220, a listing of the intended future conversationsthat is based on the ranking can be generated.

Some examples of implementations of the system will now be presented. Inone example, an individual may post on a system user's page on a socialnetworking website. The post may reflect an intention to have a futureconversation (e.g. “Let's talk soon.”) Based on that post, the user mayselect the post in any suitable manner so that it is received as a firstinput to the system 100. Alternatively, the conversation module 150 mayautomatically discern the intention to have a future conversation fromthe post and automatically acquire it as first input to the system. Ofcourse, the user could manually input the post as a first input in thesystem. The user may manually input or the system may automaticallyacquire one or more attributes from the post or from the socialnetworking website.

In another example, a system user may miss a telephone call. If a voicemessage is left for the system user, the system may automatically treatthe voice message as a request for a future conversation. Again, theuser may manually input the missed call as a first input into thesystem. The user may manually input or the system may automaticallyacquire one or more attributes from the voicemail or the missed call.

In a further example, a system user may be instant messaging withanother individual. If the instant messaging session must be stoppedbefore the conversation is completed, the participants may declare anintention to continue the conversation. In one embodiment, the systemuser can manually input the intention to have a future conversation intothe system. Alternatively or in addition, a graphical user interfaceelement, such as a button, can be provided to facilitate the user'sinput by launching the system 100. The system can automatically gatheras many information (e.g. attributes) of the conversation as possiblefrom the instant messaging context. For instance, the system may assumethat the intended future conversation will be with the same individualand can gather any available relationship information from the instantmessaging session. The system can prompt the user for additionalattributes, such as the urgency of the future conversation or the timeframe in which the future conversation is to occur.

In another example, a system user may receive a request for an instantmessaging chat. For instance, the user may be presented a chat windowasking “Can you talk now?” If the user is not available to chat at themoment, he or she can launch the system 100 to input it as a first inputrepresenting an intended future conversation. Again, the system mayautomatically acquire any and all information available from the contextto use as attributes of the intended future conversation. As an example,because conversation was initiated by instant messaging, the system mayassume that this is the desired channel of communication. If there isadditional information available from the chat (e.g., “We need to talkright now”), then the system may assume a certain level of priority. Thesystem may also be able to acquire information about the relationship ofthe two participants.

In a further example, the system can present to a user at least a subsetof the listing of intended future conversations based on the currentcontext of the user. For instance, if a user receives an email or othercommunication from a person who is indicated as a participant of one ormore of the user's intended future conversations, then the system canpresent to the user at least a subset of a listing of intended futureconversations, including one or more intended future conversations withthe participant. The subject matter of the email or other communicationreceived from the person may or may not be related to the subject matterof any intended future conversations with the user. However, it maynonetheless be beneficial for the user to be made aware of the intendedfuture conversations with the person in this context.

The system can be used in connection with a calendaring system. However,it will be understood that the system can be fully functional without acalendaring system.

FIG. 3 is a view of an example of a graphical user interface (GUI) 300that can be displayed by a client device 105. The term “graphical userinterface element” is defined as an image or a portion of an image thatpresents information to a user or allows the user to interact with adevice through a display. The GUI 300 illustrates the manner in whichthe system described with reference to FIGS. 1 and 2 can interact withthe conversation module 150. The conversation module 150 can executereal-time communication client software that causes the client device105 to present or display a GUI, such as GUI 300, to the user.

The GUI 300 can be organized and/or arranged in any suitable manner. Itwill be understood that the GUI presented in FIG. 3 is merely anexample, and it can be arranged differently and may include additionalor fewer features. The GUI 300 can include a field presenting arank-ordered listing of intended future conversations 305. The listing305 may present all intended future conversations or at least a subsetof the intended future conversations. The listing 305 may include acolumn 310 presenting the rank number of the conversation and a column315 presenting a brief description of the conversation. The listing 305may also include a column 320 that allows a user to edit individualentries. For instance, the one or more user interface elements, such asgraphical user interface elements (e.g. buttons) can be presented to theuser. For instance, a user may wish to delete an entry from the listing.In such case, a user may activate select the “X” or delete button 325.Alternatively, the user may wish to review and/or modify one or moreaspects of an intended future conversation. In such case, the user canselect the “+” or review button 300 to view and/or modify detailsassociated with a selected intended future conversation.

Further, the GUI 300 can allow the user to search the intended futureconversations. To that end, a search field 335 can be presented. Thus,the user can input one or more search terms, phrases or characters inthe search field. When a search is conducted, a listing of matching ofintended future conversations can be presented.

Arrangements described herein can facilitate a user's panning ofintended future conversations. By allowing a user to record his or herintent to have a conversation without any precondition (e.g., theavailability of all user), arrangements can provide a more flexible anddynamic solution for planning and achieving conversations. Further,arrangements herein can be cognizant of special properties ofconversations to provide an effective rank-ordering of future intendedconversation. Additionally, the use of social networking websites andsocial analytics can provide a valuable “people based” and “relationshipbased” technique for managing intended future conversations that betterapproximate the way that people weigh the relative importance of saidconversations. Moreover, arrangements described herein can accommodatethe fast pace of business processes, and the availability of real-timecommunication channels (e.g., cell phones, instant messaging, etc.) makeit much more desirable to take advantage of such opportunities. Inaddition, arrangements described herein can facilitate the memorializingof intended future conversations so that such conversations are notforgotten or lost.

FIG. 4 depicts a block diagram of a processing system 400, which can beincluded as part of the one or more client devices 105 and/or the one ormore conversation servers 110. The processing system 400 can beconfigured to managing data items representing intended futureconversations.

The processing system 400 can include at least one processor 405 (e.g.,a central processing unit) coupled to memory elements 410 through asystem bus 415 or other suitable circuitry. As such, the processingsystem 400 can store program code within the memory elements 410. Theprocessor 405 can execute the program code accessed from the memoryelements 410 via the system bus 415. It should be appreciated that theprocessing system 400 can be implemented in the form of any systemincluding a processor and memory that is capable of performing thefunctions and/or operations described within this specification. Forexample, the processing system 400 can be implemented as a computer, aworkstation, a mobile computer, a laptop computer, tablet computer, asmart phone, a personal digital assistant, a gaming device, anappliance, and so on.

The memory elements 410 can include one or more physical memory devicessuch as, for example, local memory 420 and one or more bulk storagedevices 425. Local memory 420 refers to RAM or other non-persistentmemory device(s) generally used during actual execution of the programcode. The bulk storage device(s) 425 can be implemented as a hard diskdrive (HDD), solid state drive (SSD), or other persistent data storagedevice. The processing system 400 also can include one or more cachememories (not shown) that provide temporary storage of at least someprogram code in order to reduce the number of times program code must beretrieved from the bulk storage device 425 during execution.

Input/output (I/O) devices such as a display 430, a pointing device 435and, optionally, a keyboard 440 can be coupled to the processing system400. The I/O devices can be coupled to the processing system 400 eitherdirectly or through intervening I/O controllers. For example, thedisplay 430 can be coupled to the processing system 400 via a graphicsprocessing unit (GPU), which may be a component of the processor 405 ora discrete device. One or more network adapters 445 also can be coupledto processing system 400 to enable processing system 400 to becomecoupled to other systems, computer systems, remote printers, and/orremote storage devices through intervening private or public networks.Modems, cable modems, and Ethernet cards are examples of different typesof network adapters 445 that can be used with processing system 400.

As pictured in FIG. 4, the memory elements 410 can store the componentsof the system 100 of FIG. 1, namely the conversation module 150. Beingimplemented in the form of executable program code, these components ofthe system 100 can be executed by the processing system 400 and, assuch, can be considered part of the processing system 400. Moreover, theconversation module 150 is a functional data structure that impartsfunctionality when employed as part of the processing system of FIG. 4.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a,” “an,” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “includes,”“including,” “comprises,” and/or “comprising,” when used in thisspecification, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment disclosed within thisspecification. Thus, appearances of the phrases “in one embodiment,” “inan embodiment,” and similar language throughout this specification may,but do not necessarily, all refer to the same embodiment.

The term “plurality,” as used herein, is defined as two or more thantwo. The term “another,” as used herein, is defined as at least a secondor more. The term “coupled,” as used herein, is defined as connected,whether directly without any intervening elements or indirectly with oneor more intervening elements, unless otherwise indicated. Two elementsalso can be coupled mechanically, electrically, or communicativelylinked through a communication channel, pathway, network, or system. Theterm “and/or” as used herein refers to and encompasses any and allpossible combinations of one or more of the associated listed items. Itwill also be understood that, although the terms first, second, etc. maybe used herein to describe various elements, these elements should notbe limited by these terms, as these terms are only used to distinguishone element from another unless stated otherwise or the contextindicates otherwise.

The term “if” may be construed to mean “when” or “upon” or “in responseto determining” or “in response to detecting,” depending on the context.Similarly, the phrase “if it is determined” or “if [a stated conditionor event] is detected” may be construed to mean “upon determining” or“in response to determining” or “upon detecting [the stated condition orevent]” or “in response to detecting [the stated condition or event],”depending on the context.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the embodiments disclosed within this specification havebeen presented for purposes of illustration and description, but are notintended to be exhaustive or limited to the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of theembodiments of the invention. The embodiments were chosen and describedin order to best explain the principles of the invention and thepractical application, and to enable others of ordinary skill in the artto understand the inventive arrangements for various embodiments withvarious modifications as are suited to the particular use contemplated.

1-10. (canceled)
 11. A system comprising: a processor programmed toinitiate executable operations comprising: receiving a plurality offirst inputs, each first input being related to a respective intendedfuture conversation, each first input creating at least one data itemrepresenting the respective intended future conversation; receiving atleast one attribute for each of the plurality of intended futureconversations associated with each first input; responsive to receivingat least one attribute for each of the plurality of the intended futureconversations associated with each first input, ranking the plurality ofintended future conversations associated with each first input in aparticular order based on at least one of the received attributes; andgenerating a listing of the intended future conversations that is basedon the ranking.
 12. The system of claim 11, wherein the processor isfurther programmed to initiate executable operations including: receivea second input identifying at least one of the received attributes uponwhich the ranking of the intended future conversations is based.
 13. Thesystem of claim 11, wherein the processor is further programmed toinitiate executable operations including: receive a third inputidentifying a parameter corresponding to the attributes that are used todetermine when reminders for intended future conversations are to bepresented to the user; and based on the third input, provide remindersto the user regarding the intended future conversations.
 14. The systemof claim 11, wherein receive at least one attribute for each of theplurality of intended future conversations associated with each firstinput includes: automatically acquire at least one attribute for atleast one of the plurality of intended future conversations associatedwith each first input from an external information source.
 15. Thesystem of claim 14, wherein the external information source is a socialnetworking website, an electronic communication server or atelecommunication system.
 16. The system of claim 11, wherein receive atleast one attribute for each of the plurality of the intended futureconversations associated with each first input includes: receive the atleast one attribute for at least one of the plurality of intended futureconversations associated with each first input by a user input.
 17. Thesystem of claim 11, wherein receive a plurality of first inputsincludes: automatically acquire at least one of the plurality of firstinputs from an external information source or receive at least one ofthe plurality of first inputs by a user input.
 18. The system of claim11, wherein the processor is further programmed to initiate executableoperations including: modifying at least one attribute associated withat least one of the plurality of intended future conversationsassociated with each first input; responsive to modifying at least oneattribute associated with at least one of the plurality of intendedfuture conversations associated with each first input, ranking theplurality of intended future conversations associated with each firstinput in a particular order based on at least one of the receivedattributes; and generating a listing of the intended futureconversations that is based on the ranking.
 19. The system of claim 11,wherein the processor is further programmed to initiate executableoperations including: presenting to a user a listing of the intendedfuture conversations that is based on the ranking.
 20. A computerprogram product for managing data items representing intended futureconversations, the computer program product comprising a computerreadable storage medium having program code embodied therewith, theprogram code executable by a processor to perform a method comprising:receiving, by the processor, a plurality of first inputs, each firstinput being related to a respective intended future conversation, eachfirst input creating at least one data item representing the respectiveintended future conversation; receiving, by the processor, at least oneattribute for each of the plurality of intended future conversationsassociated with each first input; responsive to receiving at least oneattribute for each of the plurality of the intended future conversationsassociated with each first input, ranking, by the processor, theplurality of intended future conversations associated with each firstinput in a particular order based on at least one of the receivedattributes; and generating a listing of the intended futureconversations that is based on the ranking.
 21. The computer programproduct of claim 20, wherein the method further includes: receiving asecond input identifying at least one of the received attributes uponwhich the ranking of the intended future conversations is based.
 22. Thecomputer program product of claim 20, wherein receiving at least oneattribute for each of the plurality of intended future conversationsassociated with each first input includes: automatically acquiring atleast one attribute for at least one of the plurality of intended futureconversations associated with each first input from an externalinformation source.
 23. The computer program product of claim 20,wherein receiving at least one attribute for each of the plurality ofthe intended future conversations associated with each first inputincludes: receiving the at least one attribute for at least one of theplurality of intended future conversations associated with each firstinput by a user input, or automatically acquiring at least one of theplurality of first inputs from an external information source or by auser input.
 24. The computer program product of claim 20, wherein themethod further includes: modifying at least one attribute associatedwith at least one of the plurality of intended future conversationsassociated with each first input; responsive to modifying at least oneattribute associated with at least one of the plurality of intendedfuture conversations associated with each first input, ranking theplurality of intended future conversations associated with each firstinput in a particular order based on at least one of the receivedattributes; and generating a listing of the intended futureconversations that is based on the ranking.
 25. The computer programproduct of claim 20, wherein the method further includes: presenting toa user at least a subset of the listing of the intended futureconversations that is based on the ranking.